/**
 * output package name
 */
package com.kingdee.eas.custom.jiu.statement;

import java.awt.event.ActionEvent;
import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map;

import org.apache.log4j.Logger;

import com.kingdee.bos.ctrl.kdf.table.IRow;
import com.kingdee.bos.ctrl.kdf.table.KDTable;
import com.kingdee.bos.dao.query.SQLExecutorFactory;
import com.kingdee.bos.ui.face.CoreUIObject;
import com.kingdee.eas.base.commonquery.client.CommonQueryDialog;
import com.kingdee.eas.basedata.org.AdminOrgUnitInfo;
import com.kingdee.eas.basedata.org.CostCenterOrgUnitInfo;
import com.kingdee.eas.basedata.org.CtrlUnitInfo;
import com.kingdee.eas.common.client.SysContext;
import com.kingdee.eas.framework.ICoreBase;
import com.kingdee.jdbc.rowset.IRowSet;

/**
 * output class name
 */
public class BudgetStatisticsRptUI extends AbstractBudgetStatisticsRptUI
{
    private static final Logger logger = CoreUIObject.getLogger(BudgetStatisticsRptUI.class);
    public CommonQueryDialog dialog = null;	
    public BudgetExecuFilterUI userPanel = null;

    // 在生成的dialog类中继承方法 getFilterInfo()，并实现用户想要的过滤条件，应用框架会在取数时调用dialog类自动获取过滤条件  	
    protected CommonQueryDialog initCommonQueryDialog() {
    	
	    dialog = super.initCommonQueryDialog();	    		
	    try {   			
		    dialog.addUserPanel(getUserPanel());    			
		    dialog.setShowFilter(false);   			
		    dialog.setShowSorter(false);  			
		    dialog.setHeight(380);   			
		    dialog.setWidth(500);   			
		    dialog.setTitle("客户自定义过滤框");
		    
	    } catch (Exception e) {  			
	    	handUIException(e);    		
	    }    		
	    return dialog;  	
   }


    protected BudgetExecuFilterUI getUserPanel() throws Exception {
    		
	    if (this.userPanel == null)	                                       
	     // 绑定新建的自定义查询UI	    			
	    this.userPanel = new BudgetExecuFilterUI();	    		
	    userPanel.onLoad();	    		
	    return this.userPanel;
    	
    }
    
    //首先调出过滤框
    protected boolean initDefaultFilter() {
		return true ;
	}
    
    
    String fff ="";
    String ffff ="";
    String q1="0";
    String q2="0";
    String q3="0";
    private void selectquery() {
    	q1 = userPanel.kDSpinner1.getValue().toString();
   	 q2 = userPanel.kDComboBox1.getSelectedItem().toString();
       	 
   	 q3 = userPanel.kDComboBox4.getSelectedItem().toString();
 	 
	
   	 Object[] s= (Object[]) userPanel.admin.getData();
   	 if (s==null || s[0]==null ) {
   		 fff ="";
   		ffff ="";
		}else {
			fff = " and baseUnit.fid in (";
			ffff = " and c.fid in (";
			for(Object s1:s){
				CostCenterOrgUnitInfo f = (CostCenterOrgUnitInfo)s1;    		
	    		 String ff = f.getId().toString(); 		 
	    		 fff = fff +"'"+ ff+"',";    	
	    		 ffff = ffff +"'"+ ff+"',"; 
	    	 }
	    	 fff = fff.substring(0, fff.length()-1)+")";
	    	 ffff = ffff.substring(0, ffff.length()-1)+")";
		}
   	 
   
    }
    
    public void onLoad() throws Exception {
    	super.onLoad();
    	this.setUITitle("预算科目统计分析表");
    	setValueToTable();
    }
    
    private void setValueToTable() throws Exception {
    	CtrlUnitInfo  company= SysContext.getSysContext().getCurrentCtrlUnit();//获取当前管理单元CU ,比财务组织'成本中心更上一级  	
		String companyId = company.getId().toString();		
//		String x = "4/wAAAABeU3M567U";
		
    	//表名
    	String sql1="/*dialect*/ select bgScheme.FRefCube a from  T_MBG_BgScheme bgScheme  where bgScheme.FOrgUnitID='"+companyId+"' and FIsFormal = '1'"; 	
    	IRowSet ra = SQLExecutorFactory.getRemoteInstance(sql1).executeSQL();
        ra.next();
        String a = ra.getString("a");
   	
 //   	String da = ("" +new Date()).substring(("" +new Date()).length()-4);
    	
        //SQL Server
    	String sql_sqlServer="/*dialect*/  select baseUnit.FName_L2 as budgetTissue, I.FName_l2 as budgetCourse, p.FName_L2 as budgetItem,d.FValue as thisBudget " +
" from "+a+" d inner join T_ORG_BaseUnit baseUnit on baseUnit.fid=d.FOrgUnitID "+ 
" join T_MBG_BgItem I on I.FNumber=SUBSTRING(d.FFormula,CHARINDEX(':',d.FFormula)+1,(CHARINDEX(',',d.FFormula))-CHARINDEX(':',d.FFormula)-1) "+ 
" join T_BD_Project p on p.FNumber=SUBSTRING(SUBSTRING(FFormula,CHARINDEX(',',FFormula)+1,LEN(FFormula)-LEN(substring(FFormula,0,charindex(',',FFormula)))), "+
" CHARINDEX(':',SUBSTRING(FFormula,CHARINDEX(',',FFormula)+1,LEN(FFormula)-LEN(substring(FFormula,0,charindex(',',FFormula)))))+1 , "+
" CHARINDEX(',',SUBSTRING(FFormula,CHARINDEX(',',FFormula)+1,LEN(FFormula)-LEN(substring(FFormula,0,charindex(',',FFormula)))))-CHARINDEX(':',SUBSTRING(FFormula,CHARINDEX(',',FFormula)+1,LEN(FFormula)-LEN(substring(FFormula,0,charindex(',',FFormula)))))-2) "+
" inner join T_MBG_BgPeriod bgPeriod on bgPeriod.fid= d.FBgPeriodID "+ 
" where bgPeriod.fname_l2 ='"+q1+"年' "+fff+
" order by baseUnit.FName_L2 ";
        
        //Oracle
        String sql="/*dialect*/  select baseUnit.FName_L2 as budgetTissue, I.FName_l2 as budgetCourse, p.FName_L2 as budgetItem, d.FValue as thisBudget " +
		" from "+a+" d inner join T_ORG_BaseUnit baseUnit on baseUnit.fid=d.FOrgUnitID "+ 
    	" join T_MBG_BgItem I on I.FNumber=SUBSTR(d.FFormula,INSTR(d.FFormula,':')+1,(INSTR(d.FFormula,','))-INSTR(d.FFormula,':')-1)  "+ 
    	" join T_BD_Project p on p.FNumber=SUBSTR(SUBSTR(FFormula,INSTR(FFormula,',')+1,LENGTH(FFormula)-LENGTH(SUBSTR(FFormula,0,INSTR(FFormula,',')))), "+
        " INSTR(SUBSTR(FFormula,INSTR(FFormula,',')+1,LENGTH(FFormula)-LENGTH(SUBSTR(FFormula,0,INSTR(FFormula,',')))),':')+1 ,  "+
        " INSTR(SUBSTR(FFormula,INSTR(FFormula,',')+1,LENGTH(FFormula)-LENGTH(SUBSTR(FFormula,0,INSTR(FFormula,',')))),',')-INSTR(SUBSTR(FFormula,INSTR(FFormula,',')+1,LENGTH(FFormula)-LENGTH(SUBSTR(FFormula,0,INSTR(FFormula,',')))),':')-2) "+
    	" inner join T_MBG_BgPeriod bgPeriod on bgPeriod.fid= d.FBgPeriodID "+  
    	" where bgPeriod.fname_l2 ='"+q1+"年' "+fff+
        " order by baseUnit.FName_L2 ";
		setTableValue(this.tblMain,sql,sql_sqlServer);
    }
    
    int si = 0;
    private void setTableValue(KDTable table,String sql,String sql_Server) throws Exception {
    	CtrlUnitInfo  company= SysContext.getSysContext().getCurrentCtrlUnit();//获取当前管理单元CU ,比财务组织'成本中心更上一级  	
		String companyId = company.getId().toString();		
//		String x = "4/wAAAABeU3M567U";
       
        IRowSet rs = null;
        Boolean isOracle = true;   //是否Oracle
        try {
        	rs = SQLExecutorFactory.getRemoteInstance(sql).executeSQL();
		} catch (Exception e) {
			rs = SQLExecutorFactory.getRemoteInstance(sql_Server).executeSQL();
			isOracle = false;
		}
		 
		Map<String,Map<String, String>> map = new LinkedHashMap<String, Map<String,String>>();
    	//組織,科目,項目
		while (rs.next()) {
    		Map<String, String> map1=new LinkedHashMap<String, String>();
    		String key = rs.getString("budgetTissue")+rs.getString("budgetItem");			
    		map1.put("budgetTissue", rs.getString("budgetTissue"));
    		map1.put("budgetCourse", rs.getString("budgetCourse"));
    		map1.put("budgetItem", rs.getString("budgetItem"));
    		map1.put("thisBudget","0");
    		map1.put("thisBudget", rs.getString("thisBudget"));
    		map1.put("thisPerform","0");
    		map1.put("firstBudget","0");
    		map1.put("firstPerform","0");
    		
   		
    		map.put(key, map1);
		}
		 
		 
    	//上年預算書
    	String sql1="/*dialect*/ select bgScheme.FRefCube a from  T_MBG_BgScheme bgScheme  where bgScheme.FOrgUnitID='"+companyId+"' and FIsFormal = '1'"; 		
    	IRowSet ra = SQLExecutorFactory.getRemoteInstance(sql1).executeSQL();
        ra.next();       
        String a = ra.getString("a");       
        //本年
 //       String da = ("" +new Date()).substring(("" +new Date()).length()-4);
        //上年
        String q11=String.valueOf(Integer.parseInt(q1)-1);
        
         //SQL Server      
		String sql2_sqlServer = "/*dialect*/  select baseUnit.FName_L2 as budgetTissue, I.FName_l2 as budgetCourse, p.FName_L2 as budgetItem, d.FValue as firstBudget " +
		" from "+a+" d inner join T_ORG_BaseUnit baseUnit on baseUnit.fid=d.FOrgUnitID "+ 
		" join T_MBG_BgItem I on I.FNumber=SUBSTRING(d.FFormula,CHARINDEX(':',d.FFormula)+1,(CHARINDEX(',',d.FFormula))-CHARINDEX(':',d.FFormula)-1) "+ 
		" join T_BD_Project p on p.FNumber=SUBSTRING(SUBSTRING(FFormula,CHARINDEX(',',FFormula)+1,LEN(FFormula)-LEN(substring(FFormula,0,charindex(',',FFormula)))), "+
		" CHARINDEX(':',SUBSTRING(FFormula,CHARINDEX(',',FFormula)+1,LEN(FFormula)-LEN(substring(FFormula,0,charindex(',',FFormula)))))+1 , "+
		" CHARINDEX(',',SUBSTRING(FFormula,CHARINDEX(',',FFormula)+1,LEN(FFormula)-LEN(substring(FFormula,0,charindex(',',FFormula)))))-CHARINDEX(':',SUBSTRING(FFormula,CHARINDEX(',',FFormula)+1,LEN(FFormula)-LEN(substring(FFormula,0,charindex(',',FFormula)))))-2) "+
		" inner join T_MBG_BgPeriod bgPeriod on bgPeriod.fid= d.FBgPeriodID "+ 
		" where bgPeriod.fname_l2 ='"+q11+"年' "+fff;
		
		//Oracle	
	    String sql2 = "/*dialect*/  select baseUnit.FName_L2 as budgetTissue, I.FName_l2 as budgetCourse, p.FName_L2 as budgetItem, d.FValue as firstBudget " +
		" from "+a+" d inner join T_ORG_BaseUnit baseUnit on baseUnit.fid=d.FOrgUnitID "+ 
    	" join T_MBG_BgItem I on I.FNumber=SUBSTR(d.FFormula,INSTR(d.FFormula,':')+1,(INSTR(d.FFormula,','))-INSTR(d.FFormula,':')-1)  "+ 
    	" join T_BD_Project p on p.FNumber=SUBSTR(SUBSTR(FFormula,INSTR(FFormula,',')+1,LENGTH(FFormula)-LENGTH(SUBSTR(FFormula,0,INSTR(FFormula,',')))), "+
        " INSTR(SUBSTR(FFormula,INSTR(FFormula,',')+1,LENGTH(FFormula)-LENGTH(SUBSTR(FFormula,0,INSTR(FFormula,',')))),':')+1 ,  "+
        " INSTR(SUBSTR(FFormula,INSTR(FFormula,',')+1,LENGTH(FFormula)-LENGTH(SUBSTR(FFormula,0,INSTR(FFormula,',')))),',')-INSTR(SUBSTR(FFormula,INSTR(FFormula,',')+1,LENGTH(FFormula)-LENGTH(SUBSTR(FFormula,0,INSTR(FFormula,',')))),':')-2) "+
    	" inner join T_MBG_BgPeriod bgPeriod on bgPeriod.fid= d.FBgPeriodID "+  
    	" where bgPeriod.fname_l2 ='"+q11+"年' "+fff;
		 IRowSet rs1 = null;
		 if (isOracle) {
	        	rs1 = SQLExecutorFactory.getRemoteInstance(sql2).executeSQL();		
		 } else {
				rs1 = SQLExecutorFactory.getRemoteInstance(sql2_sqlServer).executeSQL();	
		 }	     
		 while (rs1.next()) {
			 
			 String key = rs1.getString("budgetTissue")+rs1.getString("budgetItem");	
			 if(map.containsKey(key)){
		    		Map<String, String> map1=map.get(key);
		    		map1.put("firstBudget",  rs1.getString("firstBudget"));
		    		map.put(key, map1);
		    }	 
		 }
		 
		
		 
	 
	
		 //本年執行數
		 //SQL Server
		 String b_sqlServer="select c.FName_L2 as budgetTissue,p.FName_L2 as budgetItem, e.FAmountApproved as thisPerform from T_BC_TravelAccountBill b join T_BC_TravelAccountBillEntry e on e.FBillID=b.fid "+
		 " join T_BD_Project p on p.FID=e.FProjectId  join T_ORG_CostCenter c on c.fid=e.FCostCenterId where FState not in('20','25','27','30','40') and b.FControlUnitID = '"+companyId+"' and SUBSTRING(convert(varchar(20),b.FBizDate),6,5)="+q1+" "+ffff+
		 " and MONTH(FAuditDate)>="+q2+" and MONTH(FAuditDate)<="+q3;
		 
		 String c_sqlServer="select c.FName_L2 as budgetTissue,p.FName_L2 as budgetItem,e.FAmountApproved as thisPerform from T_BC_BizAccountBill b join T_BC_BizAccountBillEntry e on e.FBillID=b.fid "+
		 " join T_BD_Project p on p.FID=e.FProjectId  join T_ORG_CostCenter c on c.fid=e.FCostCenterId where FState not in('20','25','27','30','40') and b.FControlUnitID = '"+companyId+"' and SUBSTRING(convert(varchar(20),b.FBizDate),6,5)="+q1+" "+ffff+
		 " and MONTH(FAuditDate)>="+q2+" and MONTH(FAuditDate)<="+q3;
		 
		 String d_sqlServer="select e.FAmountBalance as FAmountBalance,b.FAmountUsed as amountUsed,b.FReturnAmount as returnAmount,c.FName_L2 as budgetTissue,p.FName_L2 as budgetItem,e.FAmountApproved as thisPerform from T_BC_DailyLoanBill b join T_BC_DailyLoanBillEntry e on e.FBillID=b.fid "+
		 " join T_BD_Project p on p.FID=e.FProjectId  join T_ORG_CostCenter c on c.fid=b.FCostedDeptId where FState not in('20','25','27','30','40') and b.FControlUnitID = '"+companyId+"' and SUBSTRING(convert(varchar(20),b.FBizDate),6,5)="+q1+" "+ffff+
		 " and MONTH(FAuditDate)>="+q2+" and MONTH(FAuditDate)<="+q3;
		 
		 String e_sqlServer="select c.FName_L2 as budgetTissue,p.FName_L2 as budgetItem,e.FAmountApproved as thisPerform from T_BC_BizAccountOutBill b join T_BC_BizAccountOutBillEntry e on e.FBillID=b.fid "+
		 " join T_BD_Project p on p.FID=e.FProjectId  join T_ORG_CostCenter c on c.fid=e.FCostCenterId where FState not in('20','25','27','30','40') and b.FControlUnitID = '"+companyId+"' and SUBSTRING(convert(varchar(20),b.FBizDate),6,5)="+q1+" "+ffff+
		 " and MONTH(FAuditDate)>="+q2+" and MONTH(FAuditDate)<="+q3;
		 
		 //Oracle
		 String b="/*dialect*/ select c.FName_L2 as budgetTissue,p.FName_L2 as budgetItem, e.FAmountApproved as thisPerform from T_BC_TravelAccountBill b join T_BC_TravelAccountBillEntry e on e.FBillID=b.fid "+
		 " join T_BD_Project p on p.FID=e.FProjectId  join T_ORG_CostCenter c on c.fid=e.FCostCenterId where FState not in('20','25','27','30','40') and b.FControlUnitID = '"+companyId+"' and to_char(b.FBizDate,'yyyy')="+q1+" "+ffff+
		 " and to_char(FAuditDate,'MM')>="+q2+" and to_char(FAuditDate,'MM')<="+q3;
		 
		String c="/*dialect*/  select c.FName_L2 as budgetTissue,p.FName_L2 as budgetItem,e.FAmountApproved as thisPerform from T_BC_BizAccountBill b join T_BC_BizAccountBillEntry e on e.FBillID=b.fid "+
		" join T_BD_Project p on p.FID=e.FProjectId  join T_ORG_CostCenter c on c.fid=e.FCostCenterId where FState not in('20','25','27','30','40') and b.FControlUnitID = '"+companyId+"' and to_char(b.FBizDate,'yyyy')="+q1+" "+ffff+
		" and to_char(FAuditDate,'MM')>="+q2+" and to_char(FAuditDate,'MM')<="+q3;
		 
		String d="/*dialect*/  select e.FAmountBalance as FAmountBalance,b.FAmountUsed as amountUsed,b.FReturnAmount as returnAmount,c.FName_L2 as budgetTissue,p.FName_L2 as budgetItem,e.FAmountApproved as thisPerform from T_BC_DailyLoanBill b join T_BC_DailyLoanBillEntry e on e.FBillID=b.fid "+
		" join T_BD_Project p on p.FID=e.FProjectId  join T_ORG_CostCenter c on c.fid=b.FCostedDeptId where FState not in('20','25','27','30','40') and b.FControlUnitID = '"+companyId+"' and to_char(b.FBizDate,'yyyy')="+q1+" "+ffff+
		" and to_char(FAuditDate,'MM')>="+q2+" and to_char(FAuditDate,'MM')<="+q3;
		 
		String e="/*dialect*/  select c.FName_L2 as budgetTissue,p.FName_L2 as budgetItem,e.FAmountApproved as thisPerform from T_BC_BizAccountOutBill b join T_BC_BizAccountOutBillEntry e on e.FBillID=b.fid "+ 
	    " join T_BD_Project p on p.FID=e.FProjectId  join T_ORG_CostCenter c on c.fid=e.FCostCenterId where FState not in('20','25','27','30','40') and b.FControlUnitID = '"+companyId+"' and to_char(b.FBizDate,'yyyy')="+q1+" "+ffff+
		" and to_char(FAuditDate,'MM')>="+q2+" and to_char(FAuditDate,'MM')<="+q3;

		 
		 IRowSet rd1 = null;
			if (isOracle) {
	        	rd1 = SQLExecutorFactory.getRemoteInstance(b).executeSQL();
			} else {
				rd1 = SQLExecutorFactory.getRemoteInstance(b_sqlServer).executeSQL();
			}
		 while (rd1.next()) {
			 String key=rd1.getString("budgetTissue")+rd1.getString("budgetItem");			
			 if(map.containsKey(key)){
		    		Map<String, String> map1=map.get(key);
		    		BigDecimal thisBudget=rd1.getBigDecimal("thisPerform");	
		    		BigDecimal bd = new BigDecimal(map1.get("thisPerform"));
		    		map1.put("thisPerform",bd.add(thisBudget).toString());
		    		map.put(key, map1);
		    } 
		 }
		 
		 IRowSet rd2 = null;
			if (isOracle) {
	        	rd2 = SQLExecutorFactory.getRemoteInstance(c).executeSQL();
			} else {
				rd2 = SQLExecutorFactory.getRemoteInstance(c_sqlServer).executeSQL();
			}
		 while (rd2.next()) {
			 String key=rd2.getString("budgetTissue")+rd2.getString("budgetItem");
			 if(map.containsKey(key)){
		    		Map<String, String> map1=map.get(key);
		    		BigDecimal thisBudget=rd2.getBigDecimal("thisPerform");
		    		BigDecimal bd = new BigDecimal(map1.get("thisPerform"));
		    		map1.put("thisPerform",bd.add(thisBudget).toString());
		    		map.put(key, map1);
		    } 
		 }
		 
		 IRowSet rd3 = null;
			if (isOracle) {
	        	rd3 = SQLExecutorFactory.getRemoteInstance(d).executeSQL();
			} else {
				rd3 = SQLExecutorFactory.getRemoteInstance(d_sqlServer).executeSQL();
			}
		 while (rd3.next()) {
			 String key=rd3.getString("budgetTissue")+rd3.getString("budgetItem");
			 if(map.containsKey(key)){
		    		Map<String, String> map1=map.get(key);
		   
		    		BigDecimal thisBudget=rd3.getBigDecimal("FAmountBalance");			    		
		    		BigDecimal bd = new BigDecimal(map1.get("thisPerform"));
		    		map1.put("thisPerform",bd.add(thisBudget).toString());
		    		map.put(key, map1);
		    } 
		 }
		 
		 IRowSet rd4 = null;
			if (isOracle) {
	        	rd4 = SQLExecutorFactory.getRemoteInstance(e).executeSQL();
			} else {
				rd4 = SQLExecutorFactory.getRemoteInstance(e_sqlServer).executeSQL();
			}
		 while (rd4.next()) {
			 String key=rd4.getString("budgetTissue")+rd4.getString("budgetItem");
			 if(map.containsKey(key)){
		    		Map<String, String> map1=map.get(key);
		    		BigDecimal thisBudget=rd4.getBigDecimal("thisPerform");		    		
		    		BigDecimal bd = new BigDecimal(map1.get("thisPerform"));
		    		map1.put("thisPerform",bd.add(thisBudget).toString());
		    		map.put(key, map1);
		    } 
		 }
		 
		 
		 
		 
		 
	 
		//上年執行數
		 //SQL Server
		 String b1_sqlServer="select c.FName_L2 as budgetTissue,p.FName_L2 as budgetItem,e.FAmountApproved as firstPerform from T_BC_TravelAccountBill b join T_BC_TravelAccountBillEntry e on e.FBillID=b.fid "+
		 " join T_BD_Project p on p.FID=e.FProjectId  join T_ORG_CostCenter c on c.fid=e.FCostCenterId where FState not in('20','25','27','30','40') and b.FControlUnitID = '"+companyId+"' and SUBSTRING(convert(varchar(20),b.FBizDate),6,5)="+q11+" "+ffff+
		 " and MONTH(FAuditDate)>="+q2+" and MONTH(FAuditDate)<="+q3;
		 
		 String c1_sqlServer="select c.FName_L2 as budgetTissue,p.FName_L2 as budgetItem,e.FAmountApproved as firstPerform from T_BC_BizAccountBill b join T_BC_BizAccountBillEntry e on e.FBillID=b.fid "+
		 " join T_BD_Project p on p.FID=e.FProjectId  join T_ORG_CostCenter c on c.fid=e.FCostCenterId where FState not in('20','25','27','30','40') and b.FControlUnitID = '"+companyId+"' and SUBSTRING(convert(varchar(20),b.FBizDate),6,5)="+q11+" "+ffff+
		 " and MONTH(FAuditDate)>="+q2+" and MONTH(FAuditDate)<="+q3;
		 
		 String d1_sqlServer="select e.FAmountBalance as FAmountBalance,b.FAmountUsed as amountUsed,b.FReturnAmount as returnAmount,c.FName_L2 as budgetTissue,p.FName_L2 as budgetItem,e.FAmountApproved as firstPerform from T_BC_DailyLoanBill b join T_BC_DailyLoanBillEntry e on e.FBillID=b.fid "+
		 " join T_BD_Project p on p.FID=e.FProjectId  join T_ORG_CostCenter c on c.fid=b.FCostedDeptId where FState not in('20','25','27','30','40') and b.FControlUnitID = '"+companyId+"' and SUBSTRING(convert(varchar(20),b.FBizDate),6,5)="+q11+" "+ffff+
		 " and MONTH(FAuditDate)>="+q2+" and MONTH(FAuditDate)<="+q3;
		 
		 String e1_sqlServer="select c.FName_L2 as budgetTissue,p.FName_L2 as budgetItem,e.FAmountApproved as firstPerform from T_BC_BizAccountOutBill b join T_BC_BizAccountOutBillEntry e on e.FBillID=b.fid "+
		 " join T_BD_Project p on p.FID=e.FProjectId  join T_ORG_CostCenter c on c.fid=e.FCostCenterId where FState not in('20','25','27','30','40') and b.FControlUnitID = '"+companyId+"' and SUBSTRING(convert(varchar(20),b.FBizDate),6,5)="+q11+" "+ffff+
		 " and MONTH(FAuditDate)>="+q2+" and MONTH(FAuditDate)<="+q3;
		 
		 //Oracle
		 String b1="/*dialect*/ select c.FName_L2 as budgetTissue,p.FName_L2 as budgetItem, e.FAmountApproved as firstPerform from T_BC_TravelAccountBill b join T_BC_TravelAccountBillEntry e on e.FBillID=b.fid "+
		 " join T_BD_Project p on p.FID=e.FProjectId  join T_ORG_CostCenter c on c.fid=e.FCostCenterId where FState not in('20','25','27','30','40') and b.FControlUnitID = '"+companyId+"' and to_char(b.FBizDate,'yyyy')="+q11+" "+ffff+
		 " and to_char(FAuditDate,'MM')>="+q2+" and to_char(FAuditDate,'MM')<="+q3;
		 
		String c1="/*dialect*/  select c.FName_L2 as budgetTissue,p.FName_L2 as budgetItem,e.FAmountApproved as firstPerform from T_BC_BizAccountBill b join T_BC_BizAccountBillEntry e on e.FBillID=b.fid "+
		" join T_BD_Project p on p.FID=e.FProjectId  join T_ORG_CostCenter c on c.fid=e.FCostCenterId where FState not in('20','25','27','30','40') and b.FControlUnitID = '"+companyId+"' and to_char(b.FBizDate,'yyyy')="+q11+" "+ffff+
		" and to_char(FAuditDate,'MM')>="+q2+" and to_char(FAuditDate,'MM')<="+q3;
		 
		String d1="/*dialect*/  select e.FAmountBalance as FAmountBalance,b.FAmountUsed as amountUsed,b.FReturnAmount as returnAmount,c.FName_L2 as budgetTissue,p.FName_L2 as budgetItem,e.FAmountApproved as firstPerform from T_BC_DailyLoanBill b join T_BC_DailyLoanBillEntry e on e.FBillID=b.fid "+
		" join T_BD_Project p on p.FID=e.FProjectId  join T_ORG_CostCenter c on c.fid=b.FCostedDeptId where FState not in('20','25','27','30','40') and b.FControlUnitID = '"+companyId+"' and to_char(b.FBizDate,'yyyy')="+q11+" "+ffff+
		" and to_char(FAuditDate,'MM')>="+q2+" and to_char(FAuditDate,'MM')<="+q3;
		 
		String e1="/*dialect*/  select c.FName_L2 as budgetTissue,p.FName_L2 as budgetItem,e.FAmountApproved as firstPerform from T_BC_BizAccountOutBill b join T_BC_BizAccountOutBillEntry e on e.FBillID=b.fid "+ 
	    " join T_BD_Project p on p.FID=e.FProjectId  join T_ORG_CostCenter c on c.fid=e.FCostCenterId where FState not in('20','25','27','30','40') and b.FControlUnitID = '"+companyId+"' and to_char(b.FBizDate,'yyyy')="+q11+" "+ffff+
		" and to_char(FAuditDate,'MM')>="+q2+" and to_char(FAuditDate,'MM')<="+q3;		 
		
		 
		 IRowSet re1 = null;
			if (isOracle) {
	        	re1 = SQLExecutorFactory.getRemoteInstance(b1).executeSQL();
			} else {
				re1 = SQLExecutorFactory.getRemoteInstance(b1_sqlServer).executeSQL();
			}
		 while (re1.next()) {
			 String key=re1.getString("budgetTissue")+re1.getString("budgetItem");
			 if(map.containsKey(key)){
		    		Map<String, String> map1=map.get(key);
		    		BigDecimal thisBudget=re1.getBigDecimal("firstPerform");	
		    		BigDecimal bd = new BigDecimal(map1.get("firstPerform"));
		    		map1.put("firstPerform",bd.add(thisBudget).toString());
		    		map.put(key, map1);
		    } 
		 }
		 
		 IRowSet re2 = null;
			if (isOracle) {
	        	re2 = SQLExecutorFactory.getRemoteInstance(c1).executeSQL();	
			} else {
				re2 = SQLExecutorFactory.getRemoteInstance(c1_sqlServer).executeSQL();	
			}
		 while (re2.next()) {
			 String key=re2.getString("budgetTissue")+re2.getString("budgetItem");
			 if(map.containsKey(key)){
		    		Map<String, String> map1=map.get(key);
		    		BigDecimal thisBudget=re2.getBigDecimal("firstPerform");		    		
		    		BigDecimal bd = new BigDecimal(map1.get("firstPerform"));
		    		map1.put("firstPerform",bd.add(thisBudget).toString());
		    		map.put(key, map1);
		    } 
		 }
		 
		 IRowSet re3 = null;
			if (isOracle) {
	        	re3 = SQLExecutorFactory.getRemoteInstance(d1).executeSQL();	
			} else {
				re3 = SQLExecutorFactory.getRemoteInstance(d1_sqlServer).executeSQL();	
			}
		 while (re3.next()) {
			 String key=re3.getString("budgetTissue")+re3.getString("budgetItem");
			 if(map.containsKey(key)){
		    		Map<String, String> map1=map.get(key);
		    		BigDecimal thisBudget=re3.getBigDecimal("FAmountBalance");			    				    		
		    		BigDecimal bd = new BigDecimal(map1.get("firstPerform"));
		    		map1.put("firstPerform",bd.add(thisBudget).toString());
		    		map.put(key, map1);
		    } 
		 }
		 
		 IRowSet re4 = null;
			if (isOracle) {
	        	re4 = SQLExecutorFactory.getRemoteInstance(e1).executeSQL();
			} else {
				re4 = SQLExecutorFactory.getRemoteInstance(e1_sqlServer).executeSQL();
			}
		 while (re4.next()) {
			 String key=re4.getString("budgetTissue")+re4.getString("budgetItem");
			 if(map.containsKey(key)){
		    		Map<String, String> map1=map.get(key);
		    		BigDecimal thisBudget=re4.getBigDecimal("firstPerform");		    		
		    		BigDecimal bd = new BigDecimal(map1.get("firstPerform"));
		    		map1.put("firstPerform",bd.add(thisBudget).toString());
		    		map.put(key, map1);
		    } 
		 }
		 
		 
		 
		 Map<String,Map<String, String>> map2 = new LinkedHashMap<String, Map<String,String>>();
		 
		 for(String key:map.keySet()){
			 Map<String, String> map3=new LinkedHashMap<String, String>();
			 
			 Map<String, String> map1=map.get(key);
			 //组织+科目
			 String key1=map1.get("budgetTissue")+map1.get("budgetCourse");			 
		 
			 
			 if (map2.containsKey(key1)) {
				//本年预算数
				BigDecimal thisBudget=new BigDecimal(map1.get("thisBudget"));		    		
	    		BigDecimal bd = new BigDecimal(map2.get(key1).get("thisBudget"));				 
				map3.put("thisBudget",bd.add(thisBudget).toString());
				
				BigDecimal firstBudget=new BigDecimal(map1.get("firstBudget"));		    		
	    		BigDecimal bd1 = new BigDecimal(map2.get(key1).get("firstBudget"));				 
				map3.put("firstBudget",bd1.add(firstBudget).toString());
				
				BigDecimal thisPerform=new BigDecimal(map1.get("thisPerform"));		    		
	    		BigDecimal bd2 = new BigDecimal(map2.get(key1).get("thisPerform"));				 
				map3.put("thisPerform",bd2.add(thisPerform).toString());
				
				BigDecimal firstPerform=new BigDecimal(map1.get("firstPerform"));		    		
	    		BigDecimal bd3 = new BigDecimal(map2.get(key1).get("firstPerform"));				 
				map3.put("firstPerform",bd3.add(firstPerform).toString());
				
				map3.put("budgetTissue",map1.get("budgetTissue"));
				map3.put("budgetCourse",map1.get("budgetCourse"));
				
				map2.put(key1, map3);
				
			}else {				
				map3.put("budgetTissue",map1.get("budgetTissue"));
				map3.put("budgetCourse",map1.get("budgetCourse"));
			    map3.put("thisBudget",map1.get("thisBudget"));			    
			    map3.put("firstBudget",map1.get("firstBudget"));			    
			    map3.put("firstPerform",map1.get("firstPerform"));			    
			    map3.put("thisPerform",map1.get("thisPerform"));			    
			    map3.put("firstPerform",map1.get("firstPerform"));
			    
				map2.put(key1, map3);
			}
			 
			 
		 }
		 
		

		 
		    tblMain.removeRows(); 
			//填數
			 IRow row = null;
			 for(String key1:map2.keySet()){
				 Map<String, String> map3=map2.get(key1);
				 row = table.addRow(); 
				 tblMain.setRowCount(map2.size());
				 
				 DecimalFormat df4 = new DecimalFormat("#,##0.00");
				 
				 row.getCell("budgetTissue").setValue(map3.get("budgetTissue"));
				 row.getCell("budgetCourse").setValue(map3.get("budgetCourse"));
				 BigDecimal bd3 = new BigDecimal(map3.get("thisBudget"));			 				
//				 row.getCell("thisBudget").setValue(bd3.setScale(2,BigDecimal.ROUND_HALF_UP));
				 row.getCell("thisBudget").setValue(df4.format(bd3));
				 
				 
				//上年预算数	
				 if(map3.get("firstBudget") != null){
					 BigDecimal fp1 = new BigDecimal(map3.get("firstBudget"));
					 BigDecimal fp2 = new BigDecimal(0);
					if( fp1.compareTo(fp2) != 0){
						 BigDecimal fp = new BigDecimal(map3.get("firstBudget"));
//						row.getCell("firstBudget").setValue(fp.setScale(2,BigDecimal.ROUND_HALF_UP));	
						 row.getCell("firstBudget").setValue(df4.format(fp));
						BigDecimal bd1 = new BigDecimal(map3.get("thisBudget"));
						BigDecimal bd2 = new BigDecimal(map3.get("firstBudget"));
//						row.getCell("budgetRegulation").setValue(bd1.subtract(bd2));
						 row.getCell("budgetRegulation").setValue(df4.format(bd1.subtract(bd2)));
						// %								
						BigDecimal ba = new BigDecimal(100);
						BigDecimal ba1 =((bd1.subtract(bd2)).divide(bd2, 4, BigDecimal.ROUND_HALF_UP)).multiply(ba);
						row.getCell("column11").setValue(ba1.setScale(2,BigDecimal.ROUND_HALF_UP));	
					}else{
						 row.getCell("firstBudget").setValue("");
						 //比上年预算增减
						 BigDecimal bd4 = new BigDecimal(map3.get("thisBudget"));
//						 row.getCell("budgetRegulation").setValue(bd4.setScale(2,BigDecimal.ROUND_HALF_UP));//2位小数
						 row.getCell("budgetRegulation").setValue(df4.format(bd4));
						 
						 row.getCell("column11").setValue(null);
					}
				 }
				 
				 
				//本年执行数
				 if(map3.get("thisPerform").equals("0")){
					 row.getCell("thisPerform").setValue("");
				 }else {
					 BigDecimal bd4 = new BigDecimal(map3.get("thisPerform"));
//					 row.getCell("thisPerform").setValue(bd4.setScale(2,BigDecimal.ROUND_HALF_UP));
					 row.getCell("thisPerform").setValue(df4.format(bd4));
				} 
				 
				//上年执行数
				 if(map3.get("firstPerform") != null){
					 BigDecimal fp1 = new BigDecimal(map3.get("firstPerform"));
					 BigDecimal fp2 = new BigDecimal(0);
					if( fp1.compareTo(fp2) == 0){
			
					 row.getCell("firstPerform").setValue("");
					 //比上年执行数增减
					 BigDecimal bd5 = new BigDecimal(map3.get("thisPerform"));
//					 row.getCell("performRegulation").setValue(bd5.setScale(2,BigDecimal.ROUND_HALF_UP));//2位小数
					 row.getCell("performRegulation").setValue(df4.format(bd5));
				}else {
					 BigDecimal fp = new BigDecimal(map3.get("firstPerform"));
//					row.getCell("firstPerform").setValue(fp.setScale(2,BigDecimal.ROUND_HALF_UP));	
					 row.getCell("firstPerform").setValue(df4.format(fp));
					BigDecimal bd1 = new BigDecimal(map3.get("thisPerform"));
					BigDecimal bd2 = new BigDecimal(map3.get("firstPerform"));
//					row.getCell("performRegulation").setValue(bd1.subtract(bd2));
					 row.getCell("performRegulation").setValue(df4.format(bd1.subtract(bd2)));
					// %
					BigDecimal ba = new BigDecimal(100);
					BigDecimal ba1 =((bd1.subtract(bd2)).divide(bd2, 4, BigDecimal.ROUND_HALF_UP)).multiply(ba);
					row.getCell("column13").setValue(ba1.setScale(2,BigDecimal.ROUND_HALF_UP));	
					 				
				}
			}
				 
				 
				 
				//上年执行率
				 if(map3.get("firstBudget") != null){
					 BigDecimal fp1 = new BigDecimal(map3.get("firstBudget"));
					 BigDecimal fp2 = new BigDecimal(0);
				  if( fp1.compareTo(fp2) == 0){
		
					 row.getCell("firstEfficiency").setValue("");
				}else {
					BigDecimal bd1 = new BigDecimal(map3.get("firstBudget"));
					 BigDecimal bd2 = new BigDecimal(map3.get("firstPerform"));
					 BigDecimal ba = new BigDecimal(100);
					 BigDecimal ba1 =(bd2.divide(bd1, 4, BigDecimal.ROUND_HALF_UP)).multiply(ba);
					 row.getCell("firstEfficiency").setValue(ba1.setScale(2,BigDecimal.ROUND_HALF_UP));
					
				}
			 }
				 					 
		        //本年执行率
				  if(map3.get("thisBudget") != null){
						 BigDecimal fp1 = new BigDecimal(map3.get("thisBudget"));
						 BigDecimal fp2 = new BigDecimal(0);
					  if( fp1.compareTo(fp2) == 0){				 
					 row.getCell("thisEfficiency").setValue("");
				}else {
					BigDecimal bd1 = new BigDecimal(map3.get("thisBudget"));
					 BigDecimal bd2 = new BigDecimal(map3.get("thisPerform"));
					 BigDecimal ba = new BigDecimal(100);					
					 BigDecimal ba1 =(bd2.divide(bd1, 4, BigDecimal.ROUND_HALF_UP)).multiply(ba);
					row.getCell("thisEfficiency").setValue(ba1.setScale(2,BigDecimal.ROUND_HALF_UP));
				}
			 }
				 
				 
			 }
		 
		 //滚动条
		 tblMain.setRowCount(map2.size());
		 
		  si = map2.size();
    }
			 
    
    
    

    	
    	
  //刷新
    public void actionRefresh_actionPerformed(ActionEvent e) throws Exception
    {
    	super.actionRefresh_actionPerformed(e);
    	selectquery();
    	setValueToTable();
   	
    }

  //查询
    public void actionQuery_actionPerformed(ActionEvent e) throws Exception
    {
    	super.actionQuery_actionPerformed(e);
    	selectquery();
    	setValueToTable();
    	
    	
    }
    
    	
    
    /**
     * output class constructor
     */
    public BudgetStatisticsRptUI() throws Exception
    {
        super();
    }

    /**
     * output storeFields method
     */
    public void storeFields()
    {
        super.storeFields();
    }

    /**
     * output tblMain_tableClicked method
     */
    protected void tblMain_tableClicked(com.kingdee.bos.ctrl.kdf.table.event.KDTMouseEvent e) throws Exception
    {
        super.tblMain_tableClicked(e);
    }

    /**
     * output menuItemImportData_actionPerformed method
     */
    protected void menuItemImportData_actionPerformed(java.awt.event.ActionEvent e) throws Exception
    {
        super.menuItemImportData_actionPerformed(e);
    }

    /**
     * output actionPageSetup_actionPerformed
     */
    public void actionPageSetup_actionPerformed(ActionEvent e) throws Exception
    {
        super.actionPageSetup_actionPerformed(e);
    }

    /**
     * output actionExitCurrent_actionPerformed
     */
    public void actionExitCurrent_actionPerformed(ActionEvent e) throws Exception
    {
        super.actionExitCurrent_actionPerformed(e);
    }

    /**
     * output actionHelp_actionPerformed
     */
    public void actionHelp_actionPerformed(ActionEvent e) throws Exception
    {
        super.actionHelp_actionPerformed(e);
    }

    /**
     * output actionAbout_actionPerformed
     */
    public void actionAbout_actionPerformed(ActionEvent e) throws Exception
    {
        super.actionAbout_actionPerformed(e);
    }

    /**
     * output actionOnLoad_actionPerformed
     */
    public void actionOnLoad_actionPerformed(ActionEvent e) throws Exception
    {
        super.actionOnLoad_actionPerformed(e);
    }

    /**
     * output actionSendMessage_actionPerformed
     */
    public void actionSendMessage_actionPerformed(ActionEvent e) throws Exception
    {
        super.actionSendMessage_actionPerformed(e);
    }

    /**
     * output actionCalculator_actionPerformed
     */
    public void actionCalculator_actionPerformed(ActionEvent e) throws Exception
    {
        super.actionCalculator_actionPerformed(e);
    }

    /**
     * output actionExport_actionPerformed
     */
    public void actionExport_actionPerformed(ActionEvent e) throws Exception
    {
        super.actionExport_actionPerformed(e);
    }

    /**
     * output actionExportSelected_actionPerformed
     */
    public void actionExportSelected_actionPerformed(ActionEvent e) throws Exception
    {
        super.actionExportSelected_actionPerformed(e);
    }

    /**
     * output actionRegProduct_actionPerformed
     */
    public void actionRegProduct_actionPerformed(ActionEvent e) throws Exception
    {
        super.actionRegProduct_actionPerformed(e);
    }

    /**
     * output actionPersonalSite_actionPerformed
     */
    public void actionPersonalSite_actionPerformed(ActionEvent e) throws Exception
    {
        super.actionPersonalSite_actionPerformed(e);
    }

    /**
     * output actionProcductVal_actionPerformed
     */
    public void actionProcductVal_actionPerformed(ActionEvent e) throws Exception
    {
        super.actionProcductVal_actionPerformed(e);
    }

    /**
     * output actionExportSave_actionPerformed
     */
    public void actionExportSave_actionPerformed(ActionEvent e) throws Exception
    {
        super.actionExportSave_actionPerformed(e);
    }

    /**
     * output actionExportSelectedSave_actionPerformed
     */
    public void actionExportSelectedSave_actionPerformed(ActionEvent e) throws Exception
    {
        super.actionExportSelectedSave_actionPerformed(e);
    }

    /**
     * output actionKnowStore_actionPerformed
     */
    public void actionKnowStore_actionPerformed(ActionEvent e) throws Exception
    {
        super.actionKnowStore_actionPerformed(e);
    }

    /**
     * output actionAnswer_actionPerformed
     */
    public void actionAnswer_actionPerformed(ActionEvent e) throws Exception
    {
        super.actionAnswer_actionPerformed(e);
    }

    /**
     * output actionRemoteAssist_actionPerformed
     */
    public void actionRemoteAssist_actionPerformed(ActionEvent e) throws Exception
    {
        super.actionRemoteAssist_actionPerformed(e);
    }

    /**
     * output actionPopupCopy_actionPerformed
     */
    public void actionPopupCopy_actionPerformed(ActionEvent e) throws Exception
    {
        super.actionPopupCopy_actionPerformed(e);
    }

    /**
     * output actionHTMLForMail_actionPerformed
     */
    public void actionHTMLForMail_actionPerformed(ActionEvent e) throws Exception
    {
        super.actionHTMLForMail_actionPerformed(e);
    }

    /**
     * output actionExcelForMail_actionPerformed
     */
    public void actionExcelForMail_actionPerformed(ActionEvent e) throws Exception
    {
        super.actionExcelForMail_actionPerformed(e);
    }

    /**
     * output actionHTMLForRpt_actionPerformed
     */
    public void actionHTMLForRpt_actionPerformed(ActionEvent e) throws Exception
    {
        super.actionHTMLForRpt_actionPerformed(e);
    }

    /**
     * output actionExcelForRpt_actionPerformed
     */
    public void actionExcelForRpt_actionPerformed(ActionEvent e) throws Exception
    {
        super.actionExcelForRpt_actionPerformed(e);
    }

    /**
     * output actionLinkForRpt_actionPerformed
     */
    public void actionLinkForRpt_actionPerformed(ActionEvent e) throws Exception
    {
        super.actionLinkForRpt_actionPerformed(e);
    }

    /**
     * output actionPopupPaste_actionPerformed
     */
    public void actionPopupPaste_actionPerformed(ActionEvent e) throws Exception
    {
        super.actionPopupPaste_actionPerformed(e);
    }

    /**
     * output actionToolBarCustom_actionPerformed
     */
    public void actionToolBarCustom_actionPerformed(ActionEvent e) throws Exception
    {
        super.actionToolBarCustom_actionPerformed(e);
    }

    /**
     * output actionCloudFeed_actionPerformed
     */
    public void actionCloudFeed_actionPerformed(ActionEvent e) throws Exception
    {
        super.actionCloudFeed_actionPerformed(e);
    }

    /**
     * output actionCloudShare_actionPerformed
     */
    public void actionCloudShare_actionPerformed(ActionEvent e) throws Exception
    {
        super.actionCloudShare_actionPerformed(e);
    }

    /**
     * output actionCloudScreen_actionPerformed
     */
    public void actionCloudScreen_actionPerformed(ActionEvent e) throws Exception
    {
        super.actionCloudScreen_actionPerformed(e);
    }

    /**
     * output actionXunTongFeed_actionPerformed
     */
    public void actionXunTongFeed_actionPerformed(ActionEvent e) throws Exception
    {
        super.actionXunTongFeed_actionPerformed(e);
    }

    /**
     * output actionAddNew_actionPerformed
     */
    public void actionAddNew_actionPerformed(ActionEvent e) throws Exception
    {
        super.actionAddNew_actionPerformed(e);
    }

    /**
     * output actionView_actionPerformed
     */
    public void actionView_actionPerformed(ActionEvent e) throws Exception
    {
 //       super.actionView_actionPerformed(e);
    }

    /**
     * output actionEdit_actionPerformed
     */
    public void actionEdit_actionPerformed(ActionEvent e) throws Exception
    {
        super.actionEdit_actionPerformed(e);
    }

    /**
     * output actionRemove_actionPerformed
     */
    public void actionRemove_actionPerformed(ActionEvent e) throws Exception
    {
        super.actionRemove_actionPerformed(e);
    }

 

    /**
     * output actionPrint_actionPerformed
     */
    public void actionPrint_actionPerformed(ActionEvent e) throws Exception
    {
        super.actionPrint_actionPerformed(e);
    }

    /**
     * output actionPrintPreview_actionPerformed
     */
    public void actionPrintPreview_actionPerformed(ActionEvent e) throws Exception
    {
        super.actionPrintPreview_actionPerformed(e);
    }

    /**
     * output actionLocate_actionPerformed
     */
    public void actionLocate_actionPerformed(ActionEvent e) throws Exception
    {
        super.actionLocate_actionPerformed(e);
    }

   

    /**
     * output actionImportData_actionPerformed
     */
    public void actionImportData_actionPerformed(ActionEvent e) throws Exception
    {
        super.actionImportData_actionPerformed(e);
    }

    /**
     * output actionAttachment_actionPerformed
     */
    public void actionAttachment_actionPerformed(ActionEvent e) throws Exception
    {
        super.actionAttachment_actionPerformed(e);
    }

    /**
     * output actionExportData_actionPerformed
     */
    public void actionExportData_actionPerformed(ActionEvent e) throws Exception
    {
        super.actionExportData_actionPerformed(e);
    }

    /**
     * output actionToExcel_actionPerformed
     */
    public void actionToExcel_actionPerformed(ActionEvent e) throws Exception
    {
        super.actionToExcel_actionPerformed(e);
    }

    /**
     * output actionStartWorkFlow_actionPerformed
     */
    public void actionStartWorkFlow_actionPerformed(ActionEvent e) throws Exception
    {
        super.actionStartWorkFlow_actionPerformed(e);
    }

    /**
     * output actionPublishReport_actionPerformed
     */
    public void actionPublishReport_actionPerformed(ActionEvent e) throws Exception
    {
        super.actionPublishReport_actionPerformed(e);
    }

    /**
     * output actionCancel_actionPerformed
     */
    public void actionCancel_actionPerformed(ActionEvent e) throws Exception
    {
        super.actionCancel_actionPerformed(e);
    }

    /**
     * output actionCancelCancel_actionPerformed
     */
    public void actionCancelCancel_actionPerformed(ActionEvent e) throws Exception
    {
        super.actionCancelCancel_actionPerformed(e);
    }

    /**
     * output actionQueryScheme_actionPerformed
     */
    public void actionQueryScheme_actionPerformed(ActionEvent e) throws Exception
    {
        super.actionQueryScheme_actionPerformed(e);
    }

	@Override
	protected ICoreBase getBizInterface() throws Exception {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	protected String getEditUIName() {
		// TODO Auto-generated method stub
		return null;
	}

}